package exclude

import (
	"sieve_admin_server_userpass/app/server"
	"sieve_admin_server_userpass/lib/log"
)

// func InStringArray(a string, arr []string) bool {
//	retBool := false
//	for _, value := range arr {
//		if value == a {
//			retBool = true
//			break
//		}
//	}
//	return retBool
// }
//
// func InIntArray(a int, arr []int) bool {
//	retBool := false
//	for _, value := range arr {
//		if value == a {
//			retBool = true
//			break
//		}
//	}
//	return retBool
// }

//
// func parseUrlData(urlFileds []string, tableFileds []string, args ReqArgs) ([]string, []interface{}) {
//	var (
//		filedKeys  []string
//		filedValue []interface{}
//	)
//	for index, filed := range urlFileds {
//		value := args.Get(filed)
//		if value != "" && value != "-1" {
//			filedKeys = append(filedKeys, tableFileds[index])
//			filedValue = append(filedValue, value)
//		}
//	}
//	return filedKeys, filedValue
// }
//
// func QueryProvinceList() []*BaseName {
//	var sql = "SELECT id,provinceName from provinceInfo"
//	row, err := db.AdminDB.Query(sql)
//	defer row.Close()
//	var list []*BaseName
//	if err == nil {
//		for row.Next() {
//			info := &BaseName{}
//			err := row.Scan(&info.Id, &info.areaName)
//			if err != nil {
//				return nil
//			}
//			list = append(list, info)
//		}
//	}
//	return list
// }
//
// func QueryCityList() []*BaseChildName {
//	var sql = "SELECT id,provinceId,concat(cityName," + "'('" + ",cityCode," + " ')' " + ")" + " as cityName from cityInfo"
//	log.Debug("sql == ", sql)
//	row, err := db.AdminDB.Query(sql)
//	defer row.Close()
//	var list []*BaseChildName
//	if err == nil {
//		for row.Next() {
//			info := &BaseChildName{}
//			err := row.Scan(&info.Id, &info.ParentId, &info.areaName)
//			if err != nil {
//				return nil
//			}
//			list = append(list, info)
//		}
//	}
//	return list
// }

func deepLoopUserAuth(tree *server.UserTreeNode, parentId int) []*UserBaseName {
	// log.Debug("name == ", tree.areaName, tree.Uid, parentId, tree.Title)
	list := []*UserBaseName{}
	permStatus := false
	leaderUid := 0
	if parentId > 0 {
		// log.Debug("tree.HasPermission( == ", tree.HasPermission("user/auth.swzl"))
		if tree.HasPermission("user/auth.swzy") || tree.HasPermission("user/auth.sw") || tree.HasPermission("user/auth.gjswCp") || tree.HasPermission("user/auth.swzl") {
			permStatus = true
			if tree.HasPermission("user/auth.swzg") {
				parentId = 0
			}
		}
	} else {

		if tree.HasPermission("user/auth.swzg") {
			permStatus = true
		}
	}
	if permStatus {
		list = append(list, &UserBaseName{Uid: tree.Uid, Name: tree.Name, Leader: parentId})
		leaderUid = tree.Uid

	}
	if parentId > 0 {
		leaderUid = parentId

	}
	if len(tree.Followers) > 0 {
		for _, info := range tree.Followers {
			cList := deepLoopUserAuth(info, leaderUid)
			if len(cList) > 0 {
				list = append(list, cList...)
			}
		}
	}

	return list
}

func Dy_QueryProviderUserList() []*UserBaseName {
	list := []*UserBaseName{}
	userTree, err := server.GetUserTree()
	if err != nil {
		return list
	}
	return deepLoopUserAuth(userTree, 0)
}

//
// func ReplaceDomain(url string, domain string) string {
//	newUrl := url
//	if !strings.HasPrefix(url, domain) {
//		//替换掉域名
//		url = strings.Replace(url, "https://", "", 1)
//		url = strings.Replace(url, "http://", "", 1)
//		strs := strings.Split(url, "/")
//		//qrhvna.cxjsgcbj.cn/one/two1.zip
//		for i, str := range strs {
//			if i == 0 {
//				newUrl = domain
//			} else {
//				if i > 1 {
//					newUrl += "/"
//				}
//				newUrl += str
//			}
//		}
//	}
//	return newUrl
// }
// func GetBusinessTypeInfo() []*BaseName {
//	rows, err := db.AdminDB.Query("SELECT `id`,`name` FROM businessType ORDER BY id")
//	if err != nil {
//		return nil
//	}
//	defer rows.Close()
//	list := []*BaseName{}
//	for rows.Next() {
//		info := &BaseName{}
//		if err := rows.Scan(&info.Id, &info.areaName); err != nil {
//			continue
//		}
//		list = append(list, info)
//	}
//	return list
// }
//
// func QueryCbInfo() []*BaseName {
//	sql := "SELECT id,linkName FROM channelCbInfo ORDER BY id DESC"
//	rows, err := db.AdminDB.Query(sql)
//	if err != nil {
//		return nil
//	}
//	defer rows.Close()
//	var list []*BaseName
//	for rows.Next() {
//		info := &BaseName{}
//		if err := rows.Scan(&info.Id, &info.areaName); err != nil {
//			continue
//		}
//		list = append(list, info)
//	}
//	return list
// }
//
// func QueryCbInfoObj() map[int]int {
//	sql := "SELECT id,cbId FROM channelPartnerInfo ORDER BY id DESC"
//	rows, err := db.AdminDB.Query(sql)
//	if err != nil {
//		return nil
//	}
//	defer rows.Close()
//	mskmap := make(map[int]int)
//	for rows.Next() {
//		info := &BaseNameT{}
//		if err := rows.Scan(&info.Id, &info.CbId); err != nil {
//			continue
//		}
//		mskmap[info.Id] = info.CbId
//	}
//	return mskmap
// }
//
// func GetChannelInfo() []*ChannelInfo {
//	rows, err := db.AdminDB.Query("SELECT `id`,`channelName`,`channelAlias`,`partnerId`,`businessId` FROM channelInfo ORDER BY id")
//	if err != nil {
//		return nil
//	}
//	defer rows.Close()
//	list := []*ChannelInfo{}
//	for rows.Next() {
//		info := &ChannelInfo{}
//		if err := rows.Scan(&info.Id, &info.ChannelName, &info.ChannelAlias, &info.PartnerId, &info.BusinessId); err != nil {
//			continue
//		}
//		list = append(list, info)
//	}
//	return list
// }
//
// func GetbrandInfo() []*BrandInfo {
//	rows, err := db.AdminDB.Query("SELECT `id`,`cid`,`str`,`brand`,`model` FROM brands ORDER BY id")
//	if err != nil {
//		return nil
//	}
//	defer rows.Close()
//	list := []*BrandInfo{}
//	for rows.Next() {
//		info := &BrandInfo{}
//		if err := rows.Scan(&info.Id, &info.Cid, &info.Str, &info.Brand, &info.Model); err != nil {
//			continue
//		}
//		list = append(list, info)
//	}
//	return list
//
// }
//
// func GetbrandInfos() []*BrandInfo {
//	rows, err := db.AdminDB.Query("SELECT `id`,`cid`,`str`,`brand`,`model`,`seleBrand`,`platform` FROM brands ORDER BY id")
//	if err != nil {
//		return nil
//	}
//	defer rows.Close()
//	list := []*BrandInfo{}
//	for rows.Next() {
//		info := &BrandInfo{}
//		if err := rows.Scan(&info.Id, &info.Cid, &info.Str, &info.Brand, &info.Model, &info.SeleBrand, &info.Platform); err != nil {
//			continue
//		}
//		list = append(list, info)
//	}
//
//	// 未写完
//	listT := []*BrandInfo{}
//	for i := 0; i < len(list); i++ {
//		infos := &BrandInfo{}
//		infos = list[i]
//		for j := i + 1; j < len(list); j++ {
//			if list[i].Cid == list[j].Cid {
//				infos.Str = infos.Str + "#" + list[j].Str
//				infos.Brand = infos.Brand + "#" + list[j].Brand
//				infos.Model = infos.Model + "#" + list[j].Model
//				infos.SeleBrand = infos.SeleBrand + "#" + list[j].SeleBrand
//				infos.Platform = infos.Platform + "#" + list[j].Platform
//			}
//		}
//		T := false
//		for j := 0; j < len(listT); j++ {
//			if infos.Cid == listT[j].Cid {
//				T = true
//			}
//		}
//		if !T {
//			listT = append(listT, infos)
//		}
//	}
//	return listT
//
// }
//
// func GetChannelInfoSpecil(uid string) []*ChannelInfo {
//	rows, err := db.AdminDB.Query("SELECT id,`channelName`,`channelAlias`,`partnerId`,`businessId` FROM channelInfo WHERE businessId = ? ORDER BY id", uid)
//	if err != nil {
//		return nil
//	}
//	defer rows.Close()
//	list := []*ChannelInfo{}
//	for rows.Next() {
//		info := &ChannelInfo{}
//		if err := rows.Scan(&info.Id, &info.ChannelName, &info.ChannelAlias, &info.PartnerId, &info.BusinessId); err != nil {
//			continue
//		}
//		list = append(list, info)
//	}
//	return list
// }
//
// func GetChannelInfos() []*NameInfo {
//	rows, err := db.AdminDB.Query("SELECT id,`channelName`,`channelAlias`,`partnerId`,`businessId`,`directorId` FROM channelInfo ORDER BY id")
//	if err != nil {
//		return nil
//	}
//	defer rows.Close()
//	list := []*NameInfo{}
//	for rows.Next() {
//		info := &NameInfo{}
//		if err := rows.Scan(&info.Id, &info.areaName, &info.PartnerId, &info.BusinessId, &info.DirectorId); err != nil {
//			continue
//		}
//		list = append(list, info)
//	}
//	return list
// }
//
// func GetPlatformVer() []*BaseName {
//	rows, err := db.AdminDB.Query("SELECT `id`,concat(platform,'-',ver) as name FROM platformVer ORDER BY id")
//	if err != nil {
//		return nil
//	}
//	defer rows.Close()
//	list := []*BaseName{}
//	for rows.Next() {
//		info := &BaseName{}
//		if err := rows.Scan(&info.Id, &info.areaName); err != nil {
//			continue
//		}
//		list = append(list, info)
//	}
//	return list
// }

// func GetSdkTypeInfo() []*BaseName {
//	rows, err := db.BizDB.Query("SELECT `id`,`name` FROM sdkTypeInfo ORDER BY id")
//	if err != nil {
//		return nil
//	}
//	defer rows.Close()
//	list := []*BaseName{}
//	for rows.Next() {
//		info := &BaseName{}
//		if err := rows.Scan(&info.Id, &info.areaName); err != nil {
//			continue
//		}
//		list = append(list, info)
//	}
//	return list
// }

// func QueryZtSdkVersion() []*BaseNames {
//	sql := ""
//	if PF == PlatForm_cn {
//		sql = "SELECT businessType,sdkVersion,sdkVersionName FROM sdkVersionInfo ORDER BY sdkVersion DESC"
//	} else if PF == PlatForm_Gw_Online {
//		sql = "SELECT businessType,sdkVersion,sdkVersionName FROM sdkVersionInfo WHERE bType = " + convert.ToString(4) + " ORDER BY sdkVersion DESC"
//	} else {
//		sql = "SELECT businessType,sdkVersion,sdkVersionName FROM sdkVersionInfo WHERE bType = " + convert.ToString(3) + " ORDER BY sdkVersion DESC"
//	}
//	log.Debug("sql == ", sql)
//	row, err := db.OperationDB.Query(sql)
//	log.Err(err)
//	defer row.Close()
//	list := []*BaseNames{}
//	if err == nil {
//		for row.Next() {
//			info := &BaseNames{}
//			err := row.Scan(&info.BusinessType, &info.Id, &info.areaName)
//			if err != nil {
//				return nil
//			}
//			list = append(list, info)
//		}
//	}
//	return list
// }

func GetAllBusinessList(ctx *server.Context) map[string]interface{} {
	ret := make(map[string]interface{})
	// 主管列表s
	if ctx.Uid <= 0 {
		return nil
	}
	tree, err := server.GetUserTree()
	if err != nil {
		return nil
	}
	list := deepLoopUserAuth(tree, 0)
	b, _ := JsonEncode(list)
	log.Debug("bbb = ", b)

	var userList []*UserBaseName
	if ctx.HasNotAdminPermission("user/auth.swzl") || ctx.HasNotAdminPermission("user/auth.sw") {

		// 读取自己的主管和自己
		parentId := 0
		for _, v := range list {
			if v.Uid == ctx.Uid {
				userList = append(userList, v)
				parentId = v.Leader
				break
			}
		}
		for _, v := range list {
			if v.Uid == parentId {
				userList = append(userList, v)

				break
			}
		}
	} else {
		userList = list
	}
	ret["BusinessList"] = userList

	ret["AllUserList"] = server.GetUsers()
	return ret
}

// func QueryCbInfo() []*BaseName {
//	sql := "SELECT id,linkName FROM channelCbInfo ORDER BY id DESC"
//	rows, err := db.BizDB.Query(sql)
//	if err != nil {
//		return nil
//	}
//	defer rows.Close()
//	var list []*BaseName
//	for rows.Next() {
//		info := &BaseName{}
//		if err := rows.Scan(&info.Id, &info.areaName); err != nil {
//			continue
//		}
//		list = append(list, info)
//	}
//	return list
// }
//
// func GetUserInfo(uid int) (*channerUser, error) {
//	info := &channerUser{Uid: uid}
//	if err := db.AdminDB.QueryRow("SELECT directorId,role,name,phone,status,joinTime from admin_user WHERE `uid`=?", uid).Scan(&info.Belong, &info.Role, &info.areaName, &info.Phone, &info.Status, &info.JoinTime); err != nil {
//		return nil, err
//	}
//	return info, nil
// }
//
// func QueryPartnerList(platId int) []*partnerInfo {
//	sql := ""
//	if platId == 0 {
//		sql = "SELECT id,`partnerName`,`directorId`,`businessId` from `channelPartnerInfo` ORDER BY id DESC"
//	} else {
//		sql = "SELECT id,`partnerName`,`directorId`,`businessId` from `channelPartnerInfo` where businessId = " + strconv.Itoa(platId) + " ORDER BY id DESC"
//	}
//	row, err := db.AdminDB.Query(sql)
//	defer row.Close()
//	var list []*partnerInfo
//	if err == nil {
//		for row.Next() {
//			info := &partnerInfo{}
//			err := row.Scan(&info.Id, &info.PartnerName, &info.DirectorId, &info.BusinessId)
//			if err != nil {
//				return nil
//			}
//			list = append(list, info)
//		}
//	}
//	return list
// }
//
// func QueryPartnerLists() []*NameInfo {
//	var sql = "SELECT id,`partnerName` from `channelPartnerInfo` ORDER BY id DESC"
//	row, err := db.AdminDB.Query(sql)
//	defer row.Close()
//	var list []*NameInfo
//	if err == nil {
//		for row.Next() {
//			info := &NameInfo{}
//			err := row.Scan(&info.Id, &info.areaName)
//			if err != nil {
//				return nil
//			}
//			list = append(list, info)
//		}
//	}
//	return list
// }
//
// func getChannelDescByChannelId(channelId string) string {
//	var sql = "SELECT `channelDesc` from `channelInfo` where id = " + channelId
//	log.Debug("sql == ", sql)
//	row, err := db.AdminDB.Query(sql)
//	if err != nil {
//		return "查询出错"
//	}
//	defer row.Close()
//	var channelDesc string
//	for row.Next() {
//		errs := row.Scan(&channelDesc)
//		if errs != nil {
//			return "查询结果出错"
//		}
//	}
//	return channelDesc
// }

// func QueryHighPlugList() []*BaseName {
//	var sql = "SELECT id,plugName from cnHighPlugInfo where plugType = " + convert.ToString(GetChannelTypes())
//	// log.Debug("sql == ", sql)
//	row, err := db.OperationDB.Query(sql)
//	defer row.Close()
//	var list []*BaseName
//	if err == nil {
//		for row.Next() {
//			info := &BaseName{}
//			err := row.Scan(&info.Id, &info.areaName)
//			if err != nil {
//				return nil
//			}
//			list = append(list, info)
//		}
//	}
//	return list
// }

// func GetCompanyBody() ([]*CompanyBodyInfo, error) {
//	postInfo := make(map[string]string)
//	postInfo["appId"] = "1"
//	postInfo["action"] = "GetCompanyBody"
//	sign := GenSig(postInfo)
//	postInfo["sign"] = sign
//	c := url.Values{}
//	for key, value := range postInfo {
//		c.Add(key, value)
//	}
//	resultCode, result := HttpPostForm(*BillPostUrl, c)
//	// log.Info(resultCode,result)
//	if resultCode != success {
//		return nil, nil
//	}
//
//	resultInfo := &PostBillDataInfo{}
//	if err := json.Unmarshal([]byte(result), &resultInfo); err != nil {
//		// log.Err(err)
//		return nil, nil
//	}
//	code := resultInfo.Code
//	//log.Info(code)
//	companyBodyInfo := resultInfo.Data
//	//log.Info(companyBodyList)
//	if code != 0 {
//		return nil, nil
//	}
//	var companyBodyList []*CompanyBodyInfo
//	if err := json.Unmarshal([]byte(companyBodyInfo), &companyBodyList); err != nil {
//		// log.Err(err)
//		return nil, nil
//	}
//	return companyBodyList, nil
// }

// func GenSig(data map[string]string) string {
//	keys := []string{}
//	for k := range data {
//		keys = append(keys, k)
//	}
//	sort.Strings(keys)
//	s := ""
//	for _, k := range keys {
//		s += k + "=" + data[k]
//	}
//	return fmt.Sprintf("%x", md5.Sum([]byte(s+billApiSecret)))
// }
//
// func HttpPostForm(url string, c url.Values) (int, string) {
//	client := http.Client{
//		Timeout: time.Second * 120,
//	}
//	resp, err := client.PostForm(*BillPostUrl, c)
//	if err != nil {
//		// log.Err(err)
//		return postErr, err.Error()
//	}
//	defer resp.Body.Close()
//	body, err := ioutil.ReadAll(resp.Body)
//	if err != nil {
//		// handle error
//		return ioErr, err.Error()
//	}
//	return success, string(body)
// }

func (d *DB) GetAdminUserName() map[int]string {
	list := make(map[int]string)
	var sql = "SELECT uid,name from admin_user"
	rows, err := d.AdminDB.Query(sql)
	if err != nil {
		return nil
	}
	defer rows.Close()
	for rows.Next() {
		var (
			id       int
			userName string
		)
		err := rows.Scan(&id, &userName)
		if err != nil {
			return nil
		}
		list[id] = userName
	}
	return list
}

//
// func GetChannelsType() int {
//	if PF == PlatForm_cn || PF == PlatForm_Gw_Online {
//		return 4
//	} else {
//		return 3
//	}
// }
//
// func GetChannelTypeName() string {
//	if PF == PlatForm_cn || PF == PlatForm_Gw_Online {
//		return "channelInfo"
//	} else {
//		return "nzChannelInfo"
//	}
// }
//
// func GetChannelType() int {
//	if PF == PlatForm_cn || PF == PlatForm_Gw_Online {
//		return 4
//	} else {
//		return 3
//	}
// }
//
// func GetChannelTypes() int {
//	if PF == PlatForm_cn || PF == PlatForm_Gw_Online {
//		return 1
//	} else {
//		return 2
//	}
// }
//
// func GetCityInfoList() []*CityInfo {
//	var sql = "SELECT id,`areaId`,`provinceId`,concat(cityName," + "'('" + ",cityCode," + " ')' " + ")" + " as cityName from cityInfo"
//	rows, err := db.AdminDB.Query(sql)
//	if err != nil {
//		return nil
//	}
//	defer rows.Close()
//	var list []*CityInfo
//	for rows.Next() {
//		info := &CityInfo{}
//		err := rows.Scan(&info.Id, &info.AreaId, &info.ProvinceId, &info.areaName)
//		if err != nil {
//			return nil
//		}
//		list = append(list, info)
//	}
//	return list
// }
//
// func getregioId2Name(id int) string {
//	var sql = "SELECT `areaName` from areaInfo where id =  " + strconv.Itoa(id)
//	// log.Debug("sql == ", sql)
//	var areaName string
//	db.AdminDB.QueryRow(sql).Scan(&areaName)
//	// log.Debug("areaName == ", areaName)
//	return areaName
// }
//
// func GetAreaInfoList() []*AreaInfo {
//	var sql = "SELECT id,`areaName` from areaInfo"
//	rows, err := db.AdminDB.Query(sql)
//	if err != nil {
//		return nil
//	}
//	defer rows.Close()
//	var list []*AreaInfo
//	for rows.Next() {
//		info := &AreaInfo{}
//		err := rows.Scan(&info.Id, &info.AreaName)
//		if err != nil {
//			return nil
//		}
//		list = append(list, info)
//	}
//	return list
// }
//
// func GetProvinceInfoList() []*ProvinceInfo {
//	var sql = "SELECT id,`provinceName` from provinceInfo"
//	rows, err := db.AdminDB.Query(sql)
//	if err != nil {
//		return nil
//	}
//	defer rows.Close()
//	var list []*ProvinceInfo
//	for rows.Next() {
//		info := &ProvinceInfo{}
//		err := rows.Scan(&info.Id, &info.ProvinceName)
//		if err != nil {
//			return nil
//		}
//		list = append(list, info)
//	}
//	return list
// }
//
// func GetPartnerName(platId int) map[int]string {
//	list := make(map[int]string)
//	var sql = "SELECT id,`partnerName` from `admin_partnerInfo` WHERE platId = ? ORDER BY id DESC"
//	row, err := db.AdminDB.Query(sql, platId)
//	if err != nil {
//		return nil
//	}
//	defer row.Close()
//	for row.Next() {
//		var (
//			id          int
//			partnerName string
//		)
//		err := row.Scan(&id, &partnerName)
//		if err != nil {
//			return nil
//		}
//		list[id] = partnerName
//	}
//	return list
// }
//
// func GetChannelName() map[int]string {
//	list := make(map[int]string)
//	var sql = "SELECT id,`channelName` from `channelInfo` ORDER BY id DESC"
//	row, err := db.AdminDB.Query(sql)
//	if err != nil {
//		return nil
//	}
//	defer row.Close()
//	for row.Next() {
//		var (
//			id          int
//			channelName string
//		)
//		err := row.Scan(&id, &channelName)
//		if err != nil {
//			return nil
//		}
//		list[id] = channelName
//	}
//	return list
// }
//
// func GetChannelNames() map[int]string {
//	list := make(map[int]string)
//	var sql = "SELECT id,`channelName`,`channelAlias` from `channelInfo` ORDER BY id DESC"
//	row, err := db.AdminDB.Query(sql)
//	if err != nil {
//		return nil
//	}
//	defer row.Close()
//	for row.Next() {
//		var (
//			id           int
//			channelName  string
//			channelAlias string
//		)
//		err := row.Scan(&id, &channelName, &channelAlias)
//		if err != nil {
//			return nil
//		}
//		list[id] = channelName + "(" + channelAlias + ")"
//	}
//	return list
// }
//
// // 将国家和的信息读处理，用国家ID做key 返回map
// func getCountryName() map[int]*CityInfo {
//	var sql = "SELECT id,`areaId`,`provinceId`,`cityName`,`cityCode` from `cityInfo` ORDER BY id DESC"
//	row, err := db.AdminDB.Query(sql)
//	if err != nil {
//		return nil
//	}
//	defer row.Close()
//	temp := make(map[int]*CityInfo)
//	for row.Next() {
//		info := &CityInfo{}
//		err := row.Scan(&info.Id, &info.AreaId, &info.ProvinceId, &info.areaName, &info.CityCode)
//		if err != nil {
//			return nil
//		}
//		temp[info.Id] = info
//	}
//	return temp
// }
//
// // 数据库中已经有这条数据了
// func checkIsCanAdd(name string) bool {
//	sql1 := "SELECT id FROM channelInfo WHERE SName = " + name
//	sql2 := "SELECT id FROM channelInfo WHERE channelName = " + name
//	id1 := 0
//	id2 := 0
//	db.NewAdDB.QueryRow(sql1).Scan(&id1)
//	db.NewAdDB.QueryRow(sql2).Scan(&id2)
//	if id1 != 0 && id2 != 0 {
//		return false
//	}
//	return true
// }
//
// func getAddNewChannelToNewAd(ctx *server.Context) error {
//	parseDatas := formatStruct.ParseStructFields(&ChannelInfos{}, "Id")
//	ctx.Args.Set("SName", ctx.Args.Get("ChannelName"))
//	ctx.Args.Set("Identity", ctx.Args.Get("ChannelName"))
//	ctx.Args.Set("CreateId", strconv.Itoa(ctx.Uid))
//	ctx.Args.Set("CreateTime", convert.ToString(time.Now().Unix()))
//	ctx.Args.Set("SupportTypes", ctx.Args.Get("BusinessType"))
//	ctx.Args.Set("Remark", "新增功能机渠道")
//
//	sqls, values := parseDatas.FormatAddSql("channelInfo", ctx.Args)
//	log.Debug("sqls == ", sqls)
//	rows, errs := db.NewAdDB.Exec(sqls, values...)
//	if errs != nil {
//		log.Debug("errs == ", errs)
//		return errs
//	}
//	cid, err := rows.LastInsertId()
//	if err != nil {
//		log.Err("LastInsertId", err)
//		return err
//	}
//
//	cinfo, err := QueryIvrClientChannelConfigById(cid)
//	if err != nil {
//		log.Err("API_add_channel_setCacheFailed", err)
//	} else {
//		if cinfo.Status == 1 {
//			err = SetChannelInfoCache(cinfo.Identity, cinfo)
//		}
//		if err != nil {
//			log.Err("API_add_channel_set_cache", err)
//		}
//	}
//	return nil
// }

//
// func getUpdateNewChannelToNewAd(ctx *server.Context, name string) error {
//	sql2 := "SELECT id FROM channelInfo WHERE SName = " + name
//	id2 := 0
//	db.NewAdDB.QueryRow(sql2).Scan(&id2)
//	if id2 == 0 {
//		getAddNewChannelToNewAd(ctx)
//	}
//	parseDatas := formatStruct.ParseStructFields(&ChannelInfos{}, "Id", "CreateId", "CreateTime", "Identity")
//	ctx.Args.Set("SName", ctx.Args.Get("ChannelName"))
//	ctx.Args.Set("ModTime", convert.ToString(time.Now().Unix()))
//	ctx.Args.Set("ModId", strconv.Itoa(ctx.Uid))
//	ctx.Args.Set("SupportTypes", ctx.Args.Get("BusinessType"))
//	ctx.Args.Set("Remark", "新增功能机渠道")
//	sqls, values := parseDatas.FormatUpdateSql("channelInfo", ctx.Args, "SName")
//	values[len(values)-1] = name
//	rows, errs := db.NewAdDB.Exec(sqls, values...)
//	if errs != nil {
//		log.Debug("errs == ", errs)
//		return errs
//	}
//	cid, err := rows.LastInsertId()
//	if err != nil {
//		log.Err("LastInsertId", err)
//		return err
//	}
//	cinfo, err := QueryIvrClientChannelConfigById(cid)
//	if err != nil {
//		log.Err("API_add_channel_setCacheFailed", err)
//	} else {
//		if cinfo.Status == 1 {
//			err = SetChannelInfoCache(cinfo.Identity, cinfo)
//		}
//		if err != nil {
//			log.Err("API_add_channel_set_cache", err)
//		}
//	}
//	return nil
// }

//	func QueryIvrClientChannelConfigById(id int64) (*ChannelInfos, error) {
//		ret := new(ChannelInfos)
//		sql := "SELECT " + formatStruct.ParseStructFields(ret).ColsToString() + " from `channelInfo` WHERE Id=?"
//		err := db.NewAdDB.QueryRow(sql, id).Scan(formatStruct.ParseStructFields(ret).GetPtrs()...)
//		return ret, err
//	}
//
//	func SetChannelInfoCache(c string, conf *ChannelInfos) error {
//		key := getChannelInfoKey(c)
//		bin, err := json.Marshal(conf)
//		if err != nil {
//			return err
//		}
//		err = sysRedis.String(key).Set(bin).Error()
//		return err
//	}
func getChannelInfoKey(channel string) string {
	return "channelInfo/" + channel
}
